12单选假定整数加法指令、整数减法指令和移位指令所需时钟周期都为1,整数乘法指令所需时钟周期为8。若
12单选假定整数加法指令、整数减法指令和移位指令所需时钟周期都为1,整数乘法指令所需时钟周期为8。若x为整型变量,为了使计算36*x所用时钟周期数最少,编译器应选用的最佳指令序列为()。

A.4条左移指令和3条减法指令

B.1条乘法指令

C.3条左移指令和两条加法指令

D.两条左移指令和1条加法指令

13单选某C语言程序中对数组变量b的声明为“shortb[10][5];”,sum为int型,有一条for语句如下:for(i=0;i<10,i++)for(j=0;j<5;j++)sum+=b[i][j];假设执行到“sum+=b[i][j];”时,sum的值在EAX中,b[i][0]所在的地址在ECX中,j在EDI中,则“sum+=b[i][j];”所对应的指令或指令序列(AT&T格式)可以是()。

A.movswl0(%ecx,%edi,2),%edxaddl%edx,%eax

B.addl0(%edi,%ecx,2),%eax

C.addl0(%ecx,%edi,2),%eax

D.movzwl0(%edi,%ecx,2),%edxaddl%edx,%eax

14单选设SignExt[x]表示对x符号扩展,ZeroExt[x]表示对x零扩展。IA-32中指令“movzwl%cx,-16(%ebp)”的功能是()。

A.R[cx]←ZeroExt[M[R[ebp]-16]]

B.M[R[ebp]-16]←SignExt[R[cx]]

C.R[cx]←SignExt[M[R[ebp]-16]]

D.M[R[ebp]-16]←ZeroExt[R[cx]]

15单选假设R[ax]=FFD0H,R[bx]=7FE5H,执行指令“subw%bx,%ax”后,寄存器的内容和各标志的变化为()。

A.R[bx]=7FEBH,OF=0,SF=1,CF=0,ZF=0

B.R[ax]=7FEBH,OF=1,SF=0,CF=0,ZF=0

C.R[bx]=7FEBH,OF=1,SF=1,CF=1,ZF=0

D.R[ax]=7FEBH,OF=0,SF=0,CF=1,ZF=0

16单选以下关于各类控制转移指令的叙述中,错误的是()。

A.条件转移指令(Jcc)的判断条件可用于整数之间和浮点数之间的大小比较

B.无条件转移指令(JMP)直接将转移目标地址送到EIP寄存器中

C.条件转移指令(Jcc)将根据EFLAGS寄存器中的标志信息进行条件判断

D.调用指令(CALL)和返回指令(RET)都是特殊的无条件转移指令

计算机系统基础(一):程序的表示、转换与链接

南京大学

军职在线答案

大学网课

«
»

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注